package com.fdb.efp.nls.service.dao;

import com.fdb.efp.nls.service.domain.NlsAlarmNoticeRecord;
import com.fdb.efp.nls.service.domain.TemplateFileUploadRecord;
import com.fdb.efp.nls.service.domain.TemplateFileUploadRecordKey;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface TemplateFileUploadRecordDAO {


    /**
     * 根据主键删除记录
     *
     * @param key 主键
     * @return
     */
    int deleteByPrimaryKey(TemplateFileUploadRecordKey key);

    /**
     * 新增记录
     *
     * @param record 待插入记录
     * @return
     */
    int insert(TemplateFileUploadRecord record);


    /**
     * 批量选择性插入记录
     *
     * @param records 待插入数据列表
     * @return
     */
    int insertBatch(List<TemplateFileUploadRecord> records);


    /**
     * 选择性插入记录
     *
     * @param record 待插入记录
     * @return
     */
    int insertSelective(TemplateFileUploadRecord record);


    /**
     * 根据主键查询记录
     *
     * @param key 主键
     * @return
     */
    TemplateFileUploadRecord selectByPrimaryKey(TemplateFileUploadRecordKey key);

    /**
     * 根据主键选择性更新
     *
     * @param record 待更新的对象
     * @return
     */
    int updateByPrimaryKeySelective(TemplateFileUploadRecord record);

    /**
     * 根据主键进行更新
     *
     * @param record 待更新的对象
     * @return
     */
    int updateByPrimaryKey(TemplateFileUploadRecord record);

    List<TemplateFileUploadRecord> selectByBizType(@Param("req") String req, @Param("bizType") String bizType);

    int insertNotice(NlsAlarmNoticeRecord nlsAlarmNoticeRecord);
}